Existing technologies for determining a device's orientation may generally have a low tolerance for environment noise and may sometimes suffer from a lack of precision. Further, their cost and complexity place constraints on the environments in which they are practical for use.
Some technologies for determining an orientation of a device include using a compass, accelerometer and gyroscope, all of which have various shortcomings. For instance, a magnetic compass may be easily interfered by ferromagnetic materials or electromagnetic waves. An accelerometer may be error-prone due to forces exerted on the device. When the device is a vehicle, accelerometer readings may deviate due to acceleration or deceleration of the vehicle, which, in turn, may cause difficulties in determining the direction of the vehicle.
A gyroscope may indicate an angular velocity of the device. Once an initial orientation of the device is known, the gyroscope may help constantly compute an updated orientation of the platform. However, the gyroscope (and the accelerometer) may suffer from integration drift. Small errors in the measurement of acceleration and angular velocity may be integrated into progressively larger errors in orientation. These errors may accumulate over time, which may require periodic corrections.